package com.jokins.common.util.date;

import java.time.LocalDateTime;
import java.util.Calendar;
import java.util.Date;

/**
 * 〈〉<br>
 *
 * @author Mr.Wang
 * @create 2025/2/12
 */
public class DateUtils {

    /**
     * 计算当前日期往前推七天的起止时间
     * @return 包含起始时间和结束时间的数组，索引 0 为起始时间，索引 1 为结束时间
     */
    public static Date[] getSevenDaysDateRange() {
        // 获取当前时间的 Calendar 实例
        Calendar calendar = Calendar.getInstance();
        // 设置起始时间为七天前的 00:00:00
        calendar.add(Calendar.DAY_OF_YEAR, -7);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        Date startTime = calendar.getTime();
        // 重置为当前日期
        calendar = Calendar.getInstance();
        // 设置结束时间为当前日期的 23:59:59
        calendar.set(Calendar.HOUR_OF_DAY, 23);
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 59);
        calendar.set(Calendar.MILLISECOND, 999);
        Date endTime = calendar.getTime();
        return new Date[]{startTime, endTime};
    }

    public static void main(String[] args) {
        // 调用计算七天内起止时间的方法
        Date[] range = getSevenDaysDateRange();
        Date start = range[0];
        Date end = range[1];
        System.out.println("七天内的起始时间: " + start);
        System.out.println("七天内的结束时间: " + end);
    }
}